<?php

header('Content-Type: text/html; charset=utf-8');

class Admin_FuncoesController extends Zend_Controller_Action
{
    
    public function ajxcepAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        
        set_time_limit(1);
        
        ini_set('allow_url_fopen', 'On') OR ini_set('allow_url_fopen', '1');
        
        $cep = $this->_getParam('cep', 0);
        
        $resultado = file_get_contents('http://republicavirtual.com.br/web_cep.php?cep='.urlencode($cep).'&formato=query_string', 'r');
        
        if(!$resultado){
            $resultado = "&resultado=0&resultado_txt=erro+ao+buscar+cep";
        }

        parse_str(urldecode($resultado), $retorno);
        
        $retorno = array_map('utf8_encode', $retorno);
        
        echo json_encode(array('list'=>$retorno));   
    }
    
    public function gerarfotosAction() {
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        Zend_Loader::loadClass('imagem','library');
        
        $imgs = 'public/upload/aluno/*_det.*';
        foreach (glob($imgs) as $key => $img) {
            //imagem::reize($img, str_replace('det','crt',$img), '80', '95');
            echo $key.' - '.$img.'<br>';
            if(!file_exists(str_replace('det','ead',$img))){
                echo 'não tem foto<br>';
                imagem::reize($img, str_replace('det','ead',$img), '60', '50');
            }
        }
        
    }
    
    public function gerarcssAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        

        require_once 'library/lessphp/less_minified.inc.php';

        //try { LessMinified::ccompile('public/media/css/style.less', 'public/media/css/style.css'); 
        //} catch (exception $ex) { exit('lessc fatal error:<br />'.$ex->getMessage()); }

        try { LessMinified::ccompile('public/media/css/base.less', 'public/media/css/base.css'); 
        } catch (exception $ex) { exit('lessc fatal error:<br />'.$ex->getMessage()); }
        
        try { LessMinified::ccompile('public/media/css/ead.less', 'public/media/css/ead.css');
        } catch (exception $ex) { exit('lessc fatal error:<br />'.$ex->getMessage()); }
    }
    /*
    // comentado por segurança 
    public function gerarloginAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
        
        //todos usuários
        $query = ' SELECT SQL_CACHE ALU_ID, ALU_NOM, USU_ID FROM ALUNO ORDER BY ALU_NOM';
        $result = $db->fetchAll($query);
        foreach($result as $row){
            $login = $this->gerarlogin($row['USU_ID'],$row['ALU_NOM']);
            echo $login.' - '.$row['ALU_NOM'].'<br>';
            
            //$data = array('USU_LOGIN' => $login);
            //$db->update('USUARIOS', $data,' USU_ID = ' . $row['USU_ID']);
            
        }
        
    }
    public function gerarlogin($cod = 0,$nome){
        $login = 'sem_login_'. rand(999, 9999);
        if(strlen($nome) > 0){
            
            Zend_Loader::loadClass('tools','library');
            
            $nome = tools::retiraAcentos($nome);
            $nome = strtolower($nome);
            $nome = str_replace(array('  ','.'),array(' ',' '), $nome); 
            $temp = explode(' ', $nome);
            
            $segundo = $temp[(count($temp) - 1)];
            
            if(strlen($segundo) <= 3      && strlen($temp[(count($temp) - 1)]) >= 3) $segundo = $temp[(count($temp) - 1)];
            else if(strlen($segundo) <= 3 && strlen($temp[(count($temp) - 2)]) >= 3) $segundo = $temp[(count($temp) - 2)];
            else if(strlen($segundo) <= 3 && strlen($temp[(count($temp) - 3)]) >= 3) $segundo = $temp[(count($temp) - 3)];
            else if(strlen($segundo) <= 3 && strlen($temp[(count($temp) - 4)]) >= 3) $segundo = $temp[(count($temp) - 4)];
            
            $login = $temp[0].'.'.$segundo;
            
            $login = $this->verNovoLogin($cod,$login,TRUE);
                
        }
        
        return $login;
    }
    
    */
    
    function verNovoLogin($cod = 0,$login,$bool=TRUE){
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
        
        if($bool == FALSE){
            return $login;
        }else{
            $bool = FALSE;
            $query = 'SELECT SQL_CACHE USU_LOGIN FROM USUARIOS WHERE USU_ID <> '.$cod.' AND USU_LOGIN like "'.$login.'"';
            $result = $db->fetchAll($query);
            foreach($result as $res){
                $login = $login.rand(1, 99);
                $bool = TRUE;
            }
            return $this->verNovoLogin($cod,$login,$bool);
        }
    }
    
    public function  enviaremailAction(){
        
        $this->view->CBS_ID = $this->_getParam('CBS_ID', '0'); 
        
        $this->view->headScript()->appendFile($this->_urlbase.'/public/media/js/jquery-ui-1.10.2.custom/js/jquery-1.9.1.js');
        
    }
    
    public function reenviaremailsenhaAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
        
        $CBS_ID = $this->_getParam('CBS_ID', '0'); // extensivo erechim
        
        $ok = false;
        $html = '';
        $msg = 'Não possui registro para enviar e-mail!';
        
        if($CBS_ID > 0){ 
            
            $query = ' SELECT SQL_CACHE DISTINCT(a.ALU_ID), a.ALU_NOM, a.ALU_STA, a.USU_ID, a.ALU_STAEML, a.ALU_EML '
                    .' FROM ALUNO a '
                    .' INNER JOIN MATRICULA m ON m.ALU_ID = a.ALU_ID AND MAT_STA = 1 '
                    .' INNER JOIN CURSO c ON c.CUR_ID = m.CUR_ID AND c.CUR_STA = 1  AND c.CBS_ID = '.$CBS_ID
                    .' WHERE a.ALU_STAEML = 0 AND a.ALU_EML > "" ';

            $count  = 0;
            $row = $db->fetchRow($query);
            //foreach($result as $row){
            
            if($row['USU_ID'] > 0 && strlen($row['ALU_EML']) > 0){    
                
                $ok = true;
                        
                $query = 'SELECT SQL_CACHE * FROM USUARIOS WHERE USU_ID = '.$row['USU_ID'];
                $usu= $db->fetchRow($query);

                // nova senha
                Zend_Loader::loadClass('usuario','library');
                $senha = Usuario::gerarSenhaUsuario();

                Zend_Loader::loadClass('envioemail','library'); 
                $arr['nome'] = $usu['USU_NOME'];
                $arr['email'] = $row['ALU_EML'];
                $arr['usuario'] = $usu['USU_LOGIN'];
                $arr['senha'] = $senha;
                $arr['urlbase']  = $this->_urlbase;

                $html = $usu['USU_LOGIN'].' - '.$usu['USU_NOME'].' - '.$row['ALU_EML'].'<br>';
                //print_r($arr);echo '<br><br>';

                $ok = envioemail::emailMatriculaSenha($arr);

                if($ok){
                    $user = array();
                    $user['USU_CADSTA'] = 1;
                    $user['USU_SENHA'] = sha1($senha);
                    $db->update('USUARIOS', $user,'USU_ID = '.$row['USU_ID']);

                    $db->update('ALUNO', array('ALU_STAEML'=>1),'ALU_ID = '.$row['ALU_ID']);
                }     
            }else{
                $ok = false;
                $msg = 'Envio de e-mails terminou, '.date('d/m/Y H:i:s').'.';
            }
        }
            
        echo json_encode(array('ok' => $ok,'html'=>$html,'msg'=>$msg));
    }
    
    
    public function arrumarpublicacaolistaAction() {
        
        $this->_helper->layout->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender();
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 

        $flag = 0;
        
        $alu_id = 0;
        $cur_id = 0;
        
        if($alu_id > 0 && $cur_id > 0){
            
            $query = 'SELECT SQL_CACHE CBS_ID FROM CURSO WHERE CUR_ID = '.$cur_id.' AND CUR_STA = 1 ';
            $result = $db->fetchRow($query);
            $cbs_id = $result['CBS_ID'];
            
            if($cbs_id > 0){

                $query = 'SELECT SQL_CACHE PUL_ID FROM PUBLICACAO_LISTA WHERE CBS_ID like "%'.$cbs_id.'%" AND PUL_STA > 0';
                $result = $db->fetchAll($query);
                foreach($result as $row){

                    $arr2 = array(
                        'PUL_ID'  => $row['PUL_ID'],
                        'ALU_ID'  => $alu_id,
                    );
                    
                    if($this->validaListaAluno($row['PUL_ID'],$alu_id)){
                        $db->insert('PUBLICACAO_LISTA_ALUNO',$arr2);
                        $flag = 1;
                    }
                }
            }
            
            if($cbs_id > 0 && $flag == 0){
                $query = 'SELECT SQL_CACHE PUL_ID FROM PUBLICACAO_LISTA WHERE CUR_ID like "%'.$cur_id.'%" AND PUL_STA > 0';
                $result = $db->fetchAll($query);
                foreach($result as $row){

                    $arr2 = array(
                        'PUL_ID'  => $row['PUL_ID'],
                        'ALU_ID'  => $alu_id,
                    );

                    if($this->validaListaAluno($row['PUL_ID'],$alu_id)){
                        $db->insert('PUBLICACAO_LISTA_ALUNO',$arr2);
                    }
                }
            }
        }
        
    }
    public function validaListaAluno($pul_id,$aluno) {
        $db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
        $query = 'SELECT SQL_CACHE ALU_ID FROM PUBLICACAO_LISTA_ALUNO WHERE PUL_ID = '.$pul_id.' AND ALU_ID = '.$aluno;
        $row = $db->fetchRow($query);
        if($row['ALU_ID'] > 0 ) return false;
        else return true;
        
    }
    
    
}

